import socket

def start_server():
    # 创建服务器套接字
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
    # 绑定地址和端口
    host = '0.0.0.0'  # 或使用 '127.0.0.1'
    port = 49999
    server_socket.bind((host, port))
    
    # 开始监听连接
    server_socket.listen(10)#队列长度最大为10（队列满了，新的链接请求就会被拒绝）
    # 这个参数指定在服务器正忙时，操作系统可以放入队列中等待的客户端连接请求的最大数量
    print(f"服务器正在监听端口 {port}...")
    
    while True:
        # 接受客户端连接
        client_socket, address = server_socket.accept()
        print(f"客户端 {address} 已连接")
        
        try:
            while True:
                # 接收数据
                data = client_socket.recv(1024).decode('utf-8')
                if not data:
                    break
                    
                print(f"收到消息: {data}")
                
                # 发送响应
                response = f"服务器已收到消息: {data}"
                client_socket.send(response.encode('utf-8'))
                
        except Exception as e:
            print(f"发生错误: {e}")
        finally:
            client_socket.close()
            
if __name__ == "__main__":
    start_server()